﻿Imports VN.INS.BL.BC
Imports System.Data
Imports System.Web
Imports System.IO

Partial Class devida_f_monitoreo
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If (Not (Page.IsPostBack)) Then
            'Validacion de sesiones
            Sesion(Session("Nombre"))

            Sesion(Session("Persona"))
            Sesion(Session("perfil"))
            Sesion(Session("PPER"))

            lblTitulo.Text = "Estado de ingreso de Planes de Trabajo"

            Cargar_Grilla_Estado_Planes_Trabajo()

        End If
    End Sub

    'carga lista de trabajos sin filtros
    Public Sub Cargar_Grilla_Estado_Planes_Trabajo()
        Dim objusuario As PPERBC
        Dim objData As DataTable
        objusuario = New PPERBC
        objData = New DataTable
        'objData = objusuario.ListaTrabajos(ViewState("Persona"), Session("Año"))

        'objData = objusuario.Lista_Planes_Trabajo_Estado("201306", Session("Año"))
        'objData = objusuario.Lista_Planes_Trabajo_Estado("201308", "2013")
        'objData = objusuario.Lista_Planes_Trabajo_Estado("201309", "2013")
        'objData = objusuario.Lista_Planes_Trabajo_Estado("201310", "2013")
        'objData = objusuario.Lista_Planes_Trabajo_Estado("201311", "2013")
        'objData = objusuario.Lista_Planes_Trabajo_Estado("201312", "2013")
        objData = objusuario.Lista_Planes_Trabajo_Estado("201402", "2013")

        'gv_impresion.DataSource = objData
        'gv_impresion.DataBind()
        'gv_impresion.SelectedIndex = -1
        gv_Plan_Trabajo_Estado.DataSource = objData
        gv_Plan_Trabajo_Estado.DataBind()
        gv_Plan_Trabajo_Estado.SelectedIndex = -1
    End Sub

    'Carga lista de trabajos con filtros
    'Public Sub CargarGrilla(ByVal user As String, ByVal pper As String, ByVal periodo As String)
    '    Dim objusuario As PPERBC
    '    Dim objData As DataTable
    '    objusuario = New PPERBC
    '    objData = New DataTable
    '    objData = objusuario.ListaTrabajos(ViewState("Persona"), user, pper, periodo, Session("Año"))
    '    gv_impresion.DataSource = objData
    '    gv_impresion.DataBind()
    '    gv_doc.DataSource = objData
    '    gv_doc.DataBind()
    'End Sub

    'Carga Grilla Especialista
    'Public Sub CargarGrillaEsp(ByVal strCodEsp As String, ByVal srtCodMonit As String, ByVal srtCodPper As String, ByVal srtCodPeriodo As String, ByVal srtCodAnhio As String)
    '    Dim objusuario As PPERBC
    '    Dim objData As DataTable
    '    objusuario = New PPERBC
    '    objData = New DataTable
    '    objData = objusuario.ListaTrabajosEsp(strCodEsp, srtCodMonit, srtCodPper, srtCodPeriodo, srtCodAnhio)
    '    gv_impresion.DataSource = objData
    '    gv_impresion.DataBind()
    '    gv_doc.DataSource = objData
    '    gv_doc.DataBind()
    'End Sub

    'Carga lista de trabajos administrador
    'Public Sub CargarGrillaAdmin(ByVal user As String, ByVal pper As String, ByVal periodo As String)
    '    Dim objusuario As PPERBC
    '    Dim objData As DataTable
    '    objusuario = New PPERBC
    '    objData = New DataTable
    '    objData = objusuario.ListaTabajosAdministrador(user, pper, periodo, Session("Año"))
    '    gv_impresion.DataSource = objData
    '    gv_impresion.DataBind()
    '    gv_doc.DataSource = objData
    '    gv_doc.DataBind()
    'End Sub

    'Public Sub ListaPPER()
    '    Dim objPPER As PPERBC
    '    Dim objData As DataTable
    '    objPPER = New PPERBC
    '    objData = New DataTable
    '    objData = objPPER.ListaPPER(ddl_Monitoreador.SelectedValue.ToString)
    '    Dim drusuariorow As DataRow = objData.NewRow()
    '    drusuariorow("DESCRIPCION") = "--Seleccione--"
    '    drusuariorow("PPER") = ""
    '    objData.Rows.Add(drusuariorow)
    '    ddl_pper.DataSource = objData
    '    ddl_pper.DataTextField = "DESCRIPCION"
    '    ddl_pper.DataValueField = "PPER"
    '    ddl_pper.DataBind()
    'End Sub

    'Public Sub ListaMonitoreador()
    '    Dim objusuario As UsuarioBC
    '    Dim objData As DataTable
    '    Dim user As String
    '    objusuario = New UsuarioBC
    '    objData = New DataTable
    '    If Viewstate("Perfil") = "AD" Then
    '        user = ""
    '    Else
    '        user = Viewstate("Persona")
    '    End If
    '    objData = objusuario.ListaUsuarioperfil("MO", user)
    '    Dim drusuariorow As DataRow = objData.NewRow()
    '    drusuariorow("NOMBRE") = "--Seleccione--"
    '    drusuariorow("PERSONA") = ""
    '    objData.Rows.Add(drusuariorow)
    '    ddl_Monitoreador.DataSource = objData
    '    ddl_Monitoreador.DataTextField = "NOMBRE"
    '    ddl_Monitoreador.DataValueField = "PERSONA"
    '    ddl_Monitoreador.DataBind()
    '    ddl_Monitoreador.SelectedValue = ""
    'End Sub

    'Public Sub ListaPeriodo()
    '    Dim objgeneralbc As GeneralBC = New GeneralBC
    '    Dim objData As DataTable
    '    If ViewState("Perfil") = "AD" Then
    '        objData = objgeneralbc.ListaMes("", "", Session("Año"))
    '    Else
    '        objData = objgeneralbc.ListaMes(Session("Persona").ToString, "", Session("Año"))
    '    End If
    '    Dim drusuariorow As DataRow = objData.NewRow()
    '    drusuariorow("DESCRIPCION") = "--Seleccione--"
    '    drusuariorow("PERIODO") = "all"
    '    objData.Rows.Add(drusuariorow)
    '    ddl_PERIODO.DataSource = objData
    '    ddl_PERIODO.DataTextField = "DESCRIPCION"
    '    ddl_PERIODO.DataValueField = "PERIODO"
    '    ddl_PERIODO.DataBind()
    'End Sub

    'Protected Sub btn_busca_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btn_busca.Click
    '    If ViewState("Perfil") = "AD" Then  'si es administrador            
    '        CargarGrillaAdmin(ddl_Monitoreador.SelectedValue.ToString, ddl_pper.SelectedValue.ToString, ddl_PERIODO.SelectedValue.ToString)
    '    ElseIf ViewState("Perfil") = "EP" Then
    '        'Carga la grilla con filtros para el Especialista
    '        CargarGrillaEsp(ViewState("Persona"), ddl_Monitoreador.SelectedValue.ToString, ddl_pper.SelectedValue.ToString, ddl_PERIODO.SelectedValue.ToString, Session("Año"))
    '    Else 'Otros perfiles
    '        'Carga la grilla con filtros para otros perfiles
    '        CargarGrilla(ddl_Monitoreador.SelectedValue.ToString, ddl_pper.SelectedValue.ToString, ddl_PERIODO.SelectedValue.ToString)
    '    End If
    'End Sub


    Protected Sub gv_Plan_Trabajo_Estado_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_Plan_Trabajo_Estado.RowDataBound
        'Damos formato a grilla
        If e.Row.RowType = DataControlRowType.DataRow Then

            'Esto es para el campo PPER
            If e.Row.Cells(1).Text = "PIRDAIS" Then
                'e.Row.Cells(0).BackColor = Drawing.Color.Red
                e.Row.Cells(1).BackColor = Drawing.Color.FromName("#92d050")
            End If
            If e.Row.Cells(1).Text = "PTCD" Then
                'e.Row.Cells(2).ForeColor = Drawing.Color.White
                e.Row.Cells(1).BackColor = Drawing.Color.FromName("#ccc0da")
            End If
            If e.Row.Cells(1).Text = "PPCOD" Then
                'e.Row.Cells(2).ForeColor = Drawing.Color.White
                e.Row.Cells(1).BackColor = Drawing.Color.FromName("#b7dee8")
            End If

            Select Case e.Row.Cells(6).Text

                Case "NO HA INGRESADO"
                    e.Row.Cells(6).BackColor = Drawing.Color.LightPink
                    e.Row.Cells(6).ForeColor = Drawing.Color.Purple
                Case "APROBADO"
                    e.Row.Cells(6).BackColor = Drawing.Color.Lime                    

                Case Else
                    'e.Row.Cells(6).BackColor = Drawing.Color.Gold

            End Select

            If (e.Row.Cells(7).Text <> "&nbsp;") And (e.Row.Cells(8).Text = "&nbsp;") Then
                e.Row.Cells(8).Text = "FALTA APROBAR"
                e.Row.Cells(8).BackColor = Drawing.Color.LightPink
                e.Row.Cells(8).ForeColor = Drawing.Color.Purple
                'e.Row.Cells(8).ForeColor = Drawing.Color.FromName("#9c2d75")
            End If


        ElseIf e.Row.RowType = DataControlRowType.Footer Then
            e.Row.Cells(0).Font.Bold = True
            e.Row.Cells(0).Style("font-size") = "8pt"
            e.Row.Cells(0).Text = "Total faltante"
            e.Row.Cells(1).Font.Bold = True
            e.Row.Cells(1).Style("font-size") = "8pt"
            'e.Row.Cells(1).Text = _total.ToString
            e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
        End If
    End Sub

    'salir
    Protected Sub ibSalir_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibSalir.Click
        Response.Redirect("~/Devida/Inicio.aspx")
    End Sub


    'Protected Sub ddl_PERIODO_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddl_PERIODO.SelectedIndexChanged
    '    'filtra grilla segun perfil

    '    If ViewState("Perfil") = "AD" Then  'si es administrador            
    '        CargarGrillaAdmin(ddl_Monitoreador.SelectedValue.ToString, ddl_pper.SelectedValue.ToString, ddl_PERIODO.SelectedValue.ToString)
    '    ElseIf ViewState("Perfil") = "EP" Then
    '        'Carga la grilla con filtros para el Especialista
    '        CargarGrillaEsp(ViewState("Persona"), ddl_Monitoreador.SelectedValue.ToString, ddl_pper.SelectedValue.ToString, ddl_PERIODO.SelectedValue.ToString, Session("Año"))
    '    Else 'Otros perfiles
    '        'Carga la grilla con filtros para otros perfiles
    '        CargarGrilla(ddl_Monitoreador.SelectedValue.ToString, ddl_pper.SelectedValue.ToString, ddl_PERIODO.SelectedValue.ToString)
    '    End If

    'End Sub

    'Protected Sub ibExportar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibExportar.Click
    '    ExportarGrilla(gv_doc)
    'End Sub

    'Private Sub ExportarGrilla(ByVal grilla As GridView)
    '    Dim sb As StringBuilder = New StringBuilder()
    '    Dim sw As StringWriter = New StringWriter(sb)
    '    Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)
    '    Dim pagina As Page = New Page
    '    'CREAR TITULO
    '    Dim gvtitle As New Table
    '    Dim titulo1 As New TableCell()
    '    titulo1.RowSpan = 1
    '    titulo1.ColumnSpan = 6
    '    titulo1.Text = "LISTA DE PLANES DE TRABAJO"
    '    titulo1.Font.Name = "Calibri"
    '    titulo1.Font.Size = 12
    '    titulo1.Font.Bold = True
    '    titulo1.BackColor = Drawing.Color.White
    '    titulo1.HorizontalAlign = HorizontalAlign.Center
    '    titulo1.VerticalAlign = VerticalAlign.Middle
    '    Dim headertitulo1 As New TableRow()
    '    headertitulo1.Cells.Add(titulo1)
    '    gvtitle.Rows.AddAt(0, headertitulo1)
    '    '------------
    '    Dim form = New HtmlForm
    '    pagina.EnableEventValidation = False
    '    pagina.DesignerInitialize()
    '    pagina.Controls.Add(form)
    '    form.Controls.Add(gvtitle)
    '    form.Controls.Add(grilla)
    '    pagina.RenderControl(htw)
    '    Response.Clear()
    '    Response.Buffer = True
    '    Response.ContentType = "application/vnd.ms-excel"
    '    Response.AddHeader("Content-Disposition", "attachment;filename=Lista_POA.xls")
    '    Response.Charset = "UTF-8"
    '    Response.ContentEncoding = Encoding.Default
    '    Response.Write(sb.ToString())
    '    Response.End()
    'End Sub

    'perdida de sesion
    Public Sub Sesion(ByVal session As Object)
        Dim lost As String
        lost = ""
        If (session Is Nothing) Then lost = "1" Else lost = "0"
        If lost = "1" Then
            Response.Redirect("s_login.aspx?Error=1")
        End If
    End Sub

End Class